@@ -159,6 +159,8 @@ def upgrade_api(request): |
||
159 | 159 |
|
160 | 160 |
|
161 | 161 |
def getPhoneNumber(request): |
162 |
+ user_id = request.POST.get('user_id', '') |
|
163 |
+ |
|
162 | 164 |
wxcfg = WECHAT.get('MINIAPP', {}) |
163 | 165 |
|
164 | 166 |
appid = wxcfg.get('appID') |
@@ -177,7 +179,7 @@ def getPhoneNumber(request): |
||
177 | 179 |
# "timestamp": TIMESTAMP |
178 | 180 |
# } |
179 | 181 |
# } |
180 |
- phone_number = get_phone_number(appid=appid, secret=secret, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
182 |
+ phone_number = get_phone_number(appid=appid, secret=secret, unid=user_id, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
181 | 183 |
|
182 | 184 |
return phone_number.get('purePhoneNumber', '') |
183 | 185 |
|
@@ -7,7 +7,7 @@ from django_logit import logit |
||
7 | 7 |
from django_response import response |
8 | 8 |
from ipaddr import client_ip |
9 | 9 |
from pywe_membercard import get_miniapp_extraData |
10 |
-from pywe_miniapp import get_userinfo |
|
10 |
+from pywe_miniapp import get_userinfo, store_session_key, get_session_key |
|
11 | 11 |
from pywe_storage import RedisStorage |
12 | 12 |
from TimeConvert import TimeConvert as tc |
13 | 13 |
|
@@ -48,7 +48,9 @@ def get_userinfo_api(request): |
||
48 | 48 |
# u'province': u'Guangdong', |
49 | 49 |
# u'unionId': u'ocMvos6NjeKLIBqg5Mr9QjxrP1FA', |
50 | 50 |
# u'watermark': {u'appid': u'wx4f4bc4dec97d474b', u'timestamp': 1477314187}} |
51 |
- userinfo = get_userinfo(appid=appid, secret=secret, code=code, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
51 |
+ session_key = get_session_key(appid=appid, secret=secret, code=code) |
|
52 |
+ # Get Userinfo |
|
53 |
+ userinfo = get_userinfo(appid=appid, secret=secret, code=code, session_key=session_key, encryptedData=encryptedData, iv=iv) |
|
52 | 54 |
|
53 | 55 |
# Get or Create User |
54 | 56 |
user, created = UserInfo.objects.select_for_update().get_or_create(unionid=userinfo.get('unionId', '')) |
@@ -78,7 +80,10 @@ def get_userinfo_api(request): |
||
78 | 80 |
user.signup_at = tc.utc_datetime() |
79 | 81 |
user.save() |
80 | 82 |
|
83 |
+ # Store Userinfo |
|
81 | 84 |
set_profile_info(user) |
85 |
+ # Store SessionKey |
|
86 |
+ store_session_key(appid=appid, secret=secret, session_key=session_key, unid=user.user_id, storage=RedisStorage(r)) |
|
82 | 87 |
|
83 | 88 |
return response(200, 'Mini App Login Success', u'微信小程序登录成功', user.brandata(brand_id=brand_id)) |
84 | 89 |
|
@@ -1,6 +1,6 @@ |
||
1 | 1 |
pywe-jssdk==1.1.0 |
2 | 2 |
pywe-membercard==1.0.0 |
3 |
-pywe-miniapp==1.1.0 |
|
3 |
+pywe-miniapp==1.1.3 |
|
4 | 4 |
pywe-oauth==1.0.6 |
5 | 5 |
pywe-pay==1.0.12 |
6 | 6 |
pywe-pay-notify==1.0.4 |